{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Diffraction Spectrum of a Finite Binary Grating"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, we compute the diffraction spectrum of a binary phase [grating](https://en.wikipedia.org/wiki/Diffraction_grating) with finite length. To compute the diffraction spectrum of the infinite periodic structure requires [mode decomposition](https://meep.readthedocs.io/en/latest/Mode_Decomposition/); for a demonstration, see [Tutorials/Mode Decomposition/Diffraction Spectrum of a Binary Grating](https://meep.readthedocs.io/en/latest/Python_Tutorials/Mode_Decomposition/#diffraction-spectrum-of-a-binary-grating) which also describes the grating geometry used in this example (i.e., periodicity of 10 μm, height of 0.5 μm, duty cycle of 0.5, and index 1.5 in air). Note that an infinite periodic structure actually has *no* spatial separation of the diffracted orders; they are all present at every far-field point. The focus of this tutorial is to demonstrate `add_near2far`'s support for periodic boundaries.\n",
    "\n",
    "The simulation involves computing the scattered near fields of a finite-length grating for an E<sub>z</sub>-polarized, pulsed planewave source spanning wavelengths of 0.4-0.6 μm at normal incidence. The far fields are then computed for 500 points along a line parallel to the grating axis positioned 100 m away (i.e., &#8811; 2D<sup>2</sup>\\/λ, the [Fraunhofer distance](https://en.wikipedia.org/wiki/Fraunhofer_distance); D=NΛ where N is the number of unit cells and Λ is the grating periodicity, λ is the source wavelength) in the upper half plane of the symmetric finite structure with length corresponding to a 20° cone. The diffraction spectra is computed as the ratio of the energy density of the far fields from two separate runs: (1) an empty cell to obtain the fields from just the incident planewave and (2) a binary-grating unit cell to obtain the scattered fields.\n",
    "\n",
    "Modeling a finite grating requires specifying the `nperiods` parameter of `add_near2far` which sums `2*nperiods+1` Bloch-periodic copies of the near fields. However, because of the way in which the edges of the structure are handled, this approach is only an approximation for a finite periodic surface. We will verify that the error from this approximation is O(1/`nperiods`) by comparing its result with that of a true finite periodic structure involving multiple periods in a supercell arrangement terminated with a flat surface extending into PML. (There are infinitely many ways to terminate a finite periodic structure, of course, and different choices will have slightly different errors compared to the periodic approximation.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-----------\n",
      "Initializing structure...\n",
      "Working in 2D dimensions.\n",
      "Computational cell is 8.52 x 0.04 x 0 with resolution 25\n",
      "time for set_epsilon = 0.00124812 s\n",
      "-----------\n",
      "field decay(t = 50.02): 0.10083813086471559 / 0.10083813086471559 = 1.0\n",
      "field decay(t = 100.04): 3.8807013552778427e-16 / 0.10083813086471559 = 3.848446338701171e-15\n",
      "run 0 finished at t = 100.04 (5002 timesteps)\n",
      "\n",
      "Field time usage:\n",
      "        connecting chunks: 0.00231314 s\n",
      "            time stepping: 0.169821 s\n",
      "            communicating: 0.0808802 s\n",
      "     Fourier transforming: 0.0359166 s\n",
      "          everything else: 0.156131 s\n",
      "\n",
      "-----------\n",
      "Initializing structure...\n",
      "Halving computational cell along direction y\n",
      "Working in 2D dimensions.\n",
      "Computational cell is 8.52 x 10 x 0 with resolution 25\n",
      "     block, center = (-2.25,0,0)\n",
      "          size (4,1e+20,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,0,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "time for set_epsilon = 0.105644 s\n",
      "-----------\n",
      "field decay(t = 50.02): 0.09814324428153094 / 0.09814324428153094 = 1.0\n",
      "field decay(t = 100.04): 7.939880373487791e-06 / 0.09814324428153094 = 8.090093649962981e-05\n",
      "field decay(t = 150.06): 6.627624476069797e-06 / 0.09814324428153094 = 6.753011401434805e-05\n",
      "field decay(t = 200.08): 2.146203858444386e-06 / 0.09814324428153094 = 2.1868075323532677e-05\n",
      "on time step 11243 (time=224.86), 0.00035578 s/step\n",
      "field decay(t = 250.1): 8.032368775670381e-07 / 0.09814324428153094 = 8.184331824846705e-06\n",
      "field decay(t = 300.12): 2.965177550201506e-07 / 0.09814324428153094 = 3.0212752511988307e-06\n",
      "field decay(t = 350.14): 1.3086054960500633e-07 / 0.09814324428153094 = 1.3333627858237849e-06\n",
      "field decay(t = 400.16): 5.285162741753926e-08 / 0.09814324428153094 = 5.385151856803365e-07\n",
      "field decay(t = 450.18): 1.8336367759809585e-08 / 0.09814324428153094 = 1.8683270452330267e-07\n",
      "on time step 22548 (time=450.96), 0.000353856 s/step\n",
      "field decay(t = 500.2): 7.33127235003134e-09 / 0.09814324428153094 = 7.469971472515275e-08\n",
      "field decay(t = 550.22): 2.8980535977675605e-09 / 0.09814324428153094 = 2.952881391870729e-08\n",
      "field decay(t = 600.24): 9.12195167093687e-10 / 0.09814324428153094 = 9.294528357723631e-09\n",
      "field decay(t = 650.26): 3.6982320415205274e-10 / 0.09814324428153094 = 3.768198278540582e-09\n",
      "on time step 33740 (time=674.8), 0.000357411 s/step\n",
      "field decay(t = 700.28): 1.7964764774382362e-10 / 0.09814324428153094 = 1.830463717181505e-09\n",
      "field decay(t = 750.3000000000001): 1.1056722890352689e-10 / 0.09814324428153094 = 1.1265903192109368e-09\n",
      "field decay(t = 800.32): 3.1235531072986875e-11 / 0.09814324428153094 = 3.182647089124699e-10\n",
      "run 0 finished at t = 800.32 (40016 timesteps)\n",
      "\n",
      "Field time usage:\n",
      "        connecting chunks: 0.00979877 s\n",
      "            time stepping: 9.10302 s\n",
      "            communicating: 1.25385 s\n",
      "     Fourier transforming: 2.74567 s\n",
      "          everything else: 1.15844 s\n",
      "\n",
      "-----------\n",
      "Initializing structure...\n",
      "Halving computational cell along direction y\n",
      "Working in 2D dimensions.\n",
      "Computational cell is 8.52 x 212 x 0 with resolution 25\n",
      "     block, center = (-2.25,0,0)\n",
      "          size (4,1e+20,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-100,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-90,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-80,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-70,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-60,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-50,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-40,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-30,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-20,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,-10,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,0,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,10,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,20,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,30,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,40,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,50,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,60,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,70,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,80,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,90,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "     block, center = (0,100,0)\n",
      "          size (0.5,5,1e+20)\n",
      "          axes (1,0,0), (0,1,0), (0,0,1)\n",
      "          dielectric constant epsilon diagonal = (2.25,2.25,2.25)\n",
      "time for set_epsilon = 3.14788 s\n",
      "-----------\n",
      "on time step 597 (time=11.94), 0.00670513 s/step\n",
      "on time step 1213 (time=24.26), 0.00650265 s/step\n",
      "on time step 1848 (time=36.96), 0.00630352 s/step\n",
      "on time step 2483 (time=49.66), 0.00630129 s/step\n",
      "field decay(t = 50.02): 0.09814324428153119 / 0.09814324428153119 = 1.0\n",
      "on time step 3124 (time=62.48), 0.00624995 s/step\n",
      "on time step 3763 (time=75.26), 0.00626324 s/step\n",
      "on time step 4390 (time=87.8), 0.00638796 s/step\n",
      "field decay(t = 100.04): 7.939880373488582e-06 / 0.09814324428153119 = 8.090093649963766e-05\n",
      "on time step 5016 (time=100.32), 0.00639027 s/step\n",
      "on time step 5655 (time=113.1), 0.00626925 s/step\n",
      "on time step 6286 (time=125.72), 0.00634788 s/step\n",
      "on time step 6913 (time=138.26), 0.00638669 s/step\n",
      "field decay(t = 150.06): 6.627624476069556e-06 / 0.09814324428153119 = 6.753011401434542e-05\n",
      "on time step 7542 (time=150.84), 0.00636212 s/step\n",
      "on time step 8176 (time=163.52), 0.00631072 s/step\n",
      "on time step 8807 (time=176.14), 0.00633942 s/step\n",
      "on time step 9430 (time=188.6), 0.00642652 s/step\n",
      "field decay(t = 200.08): 3.77258555623287e-08 / 0.09814324428153119 = 3.8439584750336235e-07\n",
      "on time step 10053 (time=201.06), 0.00642324 s/step\n",
      "on time step 10693 (time=213.86), 0.006254 s/step\n",
      "on time step 11327 (time=226.54), 0.00630954 s/step\n",
      "on time step 11966 (time=239.32), 0.00626743 s/step\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "field decay(t = 250.1): 3.5244910064367445e-10 / 0.09814324428153119 = 3.591170265705177e-09\n",
      "on time step 12599 (time=251.98), 0.00632365 s/step\n",
      "on time step 13244 (time=264.88), 0.00620512 s/step\n",
      "on time step 13874 (time=277.48), 0.00634975 s/step\n",
      "on time step 14516 (time=290.32), 0.00623725 s/step\n",
      "field decay(t = 300.12): 1.0847045885564748e-11 / 0.09814324428153119 = 1.1052259342934691e-10\n",
      "run 0 finished at t = 300.12 (15006 timesteps)\n",
      "error:, 10, 5.981324591508142e-05\n"
     ]
    }
   ],
   "source": [
    "import meep as mp\n",
    "import math\n",
    "import numpy as np\n",
    "from numpy import linalg as LA\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "resolution = 25        # pixels/μm\n",
    "\n",
    "dpml = 1.0             # PML thickness\n",
    "dsub = 3.0             # substrate thickness\n",
    "dpad = 3.0             # padding between grating and PML\n",
    "gp = 10.0              # grating period\n",
    "gh = 0.5               # grating height\n",
    "gdc = 0.5              # grating duty cycle\n",
    "\n",
    "nperiods = 10          # number of unit cells in finite periodic grating\n",
    "\n",
    "ff_distance = 1e8      # far-field distance from near-field monitor\n",
    "ff_angle = 20          # far-field cone angle\n",
    "ff_npts = 500          # number of far-field points\n",
    "\n",
    "ff_length = ff_distance*math.tan(math.radians(ff_angle))\n",
    "ff_res = ff_npts/ff_length\n",
    "\n",
    "sx = dpml+dsub+gh+dpad+dpml\n",
    "cell_size = mp.Vector3(sx)\n",
    "\n",
    "pml_layers = [mp.PML(thickness=dpml,direction=mp.X)]\n",
    "\n",
    "symmetries = [mp.Mirror(mp.Y)]\n",
    "\n",
    "wvl_min = 0.4           # min wavelength\n",
    "wvl_max = 0.6           # max wavelength\n",
    "fmin = 1/wvl_max        # min frequency\n",
    "fmax = 1/wvl_min        # max frequency\n",
    "fcen = 0.5*(fmin+fmax)  # center frequency\n",
    "df = fmax-fmin          # frequency width\n",
    "\n",
    "src_pt = mp.Vector3(-0.5*sx+dpml+0.5*dsub)\n",
    "sources = [mp.Source(mp.GaussianSource(fcen, fwidth=df), component=mp.Ez, center=src_pt)]\n",
    "\n",
    "k_point = mp.Vector3()\n",
    "\n",
    "glass = mp.Medium(index=1.5)\n",
    "\n",
    "sim = mp.Simulation(resolution=resolution,\n",
    "                    cell_size=cell_size,\n",
    "                    boundary_layers=pml_layers,\n",
    "                    k_point=k_point,\n",
    "                    default_material=glass,\n",
    "                    sources=sources)\n",
    "\n",
    "nfreq = 21\n",
    "n2f_pt = mp.Vector3(0.5*sx-dpml-0.5*dpad)\n",
    "n2f_obj = sim.add_near2far(fcen, df, nfreq, mp.Near2FarRegion(center=n2f_pt))\n",
    "\n",
    "sim.run(until_after_sources=mp.stop_when_fields_decayed(50, mp.Ez, n2f_pt, 1e-9))\n",
    "\n",
    "ff_source = sim.get_farfields(n2f_obj, ff_res, center=mp.Vector3(ff_distance,0.5*ff_length), size=mp.Vector3(y=ff_length))\n",
    "\n",
    "sim.reset_meep()\n",
    "\n",
    "### unit cell with periodic boundaries\n",
    "\n",
    "sy = gp\n",
    "cell_size = mp.Vector3(sx,sy)\n",
    "\n",
    "sources = [mp.Source(mp.GaussianSource(fcen, fwidth=df), component=mp.Ez, center=src_pt, size=mp.Vector3(y=sy))]\n",
    "\n",
    "geometry = [mp.Block(material=glass, size=mp.Vector3(dpml+dsub,mp.inf,mp.inf), center=mp.Vector3(-0.5*sx+0.5*(dpml+dsub))),\n",
    "            mp.Block(material=glass, size=mp.Vector3(gh,gdc*gp,mp.inf), center=mp.Vector3(-0.5*sx+dpml+dsub+0.5*gh))]\n",
    "\n",
    "sim = mp.Simulation(resolution=resolution,\n",
    "                    split_chunks_evenly=True,\n",
    "                    cell_size=cell_size,\n",
    "                    boundary_layers=pml_layers,\n",
    "                    geometry=geometry,\n",
    "                    k_point=k_point,\n",
    "                    sources=sources,\n",
    "                    symmetries=symmetries)\n",
    "\n",
    "n2f_obj = sim.add_near2far(fcen, df, nfreq, mp.Near2FarRegion(center=n2f_pt, size=mp.Vector3(y=sy)), nperiods=nperiods)\n",
    "\n",
    "sim.run(until_after_sources=mp.stop_when_fields_decayed(50, mp.Ez, n2f_pt, 1e-9))\n",
    "\n",
    "ff_unitcell = sim.get_farfields(n2f_obj, ff_res, center=mp.Vector3(ff_distance,0.5*ff_length), size=mp.Vector3(y=ff_length))\n",
    "\n",
    "sim.reset_meep()\n",
    "\n",
    "### finite periodic grating with flat surface termination extending into PML\n",
    "\n",
    "num_cells = 2*nperiods+1\n",
    "sy = dpml+num_cells*gp+dpml\n",
    "cell_size = mp.Vector3(sx,sy)\n",
    "\n",
    "pml_layers = [mp.PML(thickness=dpml)]\n",
    "\n",
    "sources = [mp.Source(mp.GaussianSource(fcen, fwidth=df), component=mp.Ez, center=src_pt, size=mp.Vector3(y=sy-2*dpml))]\n",
    "\n",
    "geometry = [mp.Block(material=glass, size=mp.Vector3(dpml+dsub,mp.inf,mp.inf), center=mp.Vector3(-0.5*sx+0.5*(dpml+dsub)))]\n",
    "\n",
    "for j in range(num_cells):\n",
    "    geometry.append(mp.Block(material=glass,\n",
    "                             size=mp.Vector3(gh,gdc*gp,mp.inf),\n",
    "                             center=mp.Vector3(-0.5*sx+dpml+dsub+0.5*gh,-0.5*sy+dpml+(j+0.5)*gp)))\n",
    "\n",
    "sim = mp.Simulation(resolution=resolution,\n",
    "                    split_chunks_evenly=True,                    \n",
    "                    cell_size=cell_size,\n",
    "                    boundary_layers=pml_layers,\n",
    "                    geometry=geometry,\n",
    "                    k_point=k_point,\n",
    "                    sources=sources,\n",
    "                    symmetries=symmetries)\n",
    "\n",
    "n2f_obj = sim.add_near2far(fcen, df, nfreq, mp.Near2FarRegion(center=n2f_pt, size=mp.Vector3(y=sy-2*dpml)))\n",
    "\n",
    "sim.run(until_after_sources=mp.stop_when_fields_decayed(50, mp.Ez, n2f_pt, 1e-9))\n",
    "\n",
    "ff_supercell = sim.get_farfields(n2f_obj, ff_res, center=mp.Vector3(ff_distance,0.5*ff_length), size=mp.Vector3(y=ff_length))\n",
    "\n",
    "norm_err = LA.norm(ff_unitcell['Ez']-ff_supercell['Ez'])/nperiods\n",
    "print(\"error:, {}, {}\".format(nperiods,norm_err))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A plot of (a) the diffraction/far-field spectra and (b) its cross section at a fixed wavelength of 0.5 μm, is generated using the commands below and shown in the accompanying figure for two cases: (1) `nperiods = 1` (no tiling; default) and (2) `nperiods = 10` (21 copies). Note that because the evenly-spaced points on the line used to compute the far fields are mapped to angles in the plot, the angular data is *not* evenly spaced. A similar non-uniformity occurs when transforming the far-field data from the frequency to wavelength domain."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 900x600 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "freqs = mp.get_near2far_freqs(n2f_obj)\n",
    "wvl = np.divide(1,freqs)\n",
    "ff_lengths = np.linspace(0,ff_length,ff_npts)\n",
    "angles = [math.degrees(math.atan(f)) for f in ff_lengths/ff_distance]\n",
    "\n",
    "wvl_slice = 0.5\n",
    "idx_slice = np.where(np.asarray(freqs) == 1/wvl_slice)[0][0]\n",
    "\n",
    "rel_enh = np.absolute(ff_unitcell['Ez'])**2/np.absolute(ff_source['Ez'])**2\n",
    "\n",
    "plt.figure(dpi=150)\n",
    "\n",
    "plt.subplot(1,2,1)\n",
    "plt.pcolormesh(wvl,angles,rel_enh,cmap='Blues',shading='flat')\n",
    "plt.axis([wvl_min,wvl_max,0,ff_angle])\n",
    "plt.xlabel(\"wavelength (μm)\")\n",
    "plt.ylabel(\"angle (degrees)\")\n",
    "plt.grid(linewidth=0.5,linestyle='--')\n",
    "plt.xticks([t for t in np.arange(wvl_min,wvl_max+0.1,0.1)])\n",
    "plt.yticks([t for t in range(0,ff_angle+1,10)])\n",
    "plt.title(\"far-field spectra\")\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(angles,rel_enh[:,idx_slice],'bo-')\n",
    "plt.xlim(0,ff_angle)\n",
    "plt.ylim(0)\n",
    "plt.xticks([t for t in range(0,ff_angle+1,10)])\n",
    "plt.xlabel(\"angle (degrees)\")\n",
    "plt.ylabel(\"relative enhancement\")\n",
    "plt.grid(axis='x',linewidth=0.5,linestyle='--')\n",
    "plt.title(\"f.-f. spectra @  λ = {:.1} μm\".format(wvl_slice))\n",
    "\n",
    "plt.tight_layout(pad=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For the case of `nperiods = 1`, three diffraction orders are present in the far-field spectra as broad peaks with finite angular width (a fourth peak/order is also visible). When `nperiods = 10`, the diffraction orders become sharp, narrow peaks. The three diffraction orders are labeled in the right inset of the bottom figure as m=1, 3, and 5 corresponding to angles 2.9°, 8.6°, and 14.5° which, along with the diffraction efficiency, can be computed analytically using scalar theory as described in [Tutorials/Mode Decomposition/Diffraction Spectrum of a Binary Grating](https://meep.readthedocs.io/en/latest/Python_Tutorials/Mode_Decomposition/#diffraction-spectrum-of-a-binary-grating). As an additional validation of the simulation results, the ratio of any two diffraction peaks p<sub>a</sub>/p<sub>b</sub> (a,b = 1,3,5,...) is consistent with that of its diffraction efficiencies: b<sup>2</sup>/a<sup>2</sup>.\n",
    "\n",
    "Finally, we verify that the error in `add_near2far` &mdash; defined as the L<sub>2</sub>-norm of the difference of the two far-field datasets from the unit- and super-cell calculations normalized by `nperiods` &mdash; is O(1/`nperiods`) by comparing results for three values of `nperiods`: 5, 10, and 20. The error values, which are displayed in the output in the line prefixed by `error:`, are: `0.0001195599054639075`, `5.981324591508146e-05`, and `2.989829913961854e-05`. The pairwise ratios of these errors is nearly 2 as expected (i.e., doubling `nperiods` results in halving the error).\n",
    "\n",
    "For a single process, the far-field calculation in both runs takes roughly the same amount of time. The wall-clock time is indicated by the `getting farfields` category of the `Field time usage` statistics displayed as part of the output after time stepping is complete. Time-stepping a supercell, however, which for `nperiods=20` is more than 41 times larger than the unit cell (because of the PML termination) results in a total wall-clock time that is more than 40% larger. The slowdown is also due to the requirement of computing 41 times as many Fourier-transformed near fields. Thus, in the case of the unit-cell simulation, the reduced accuracy is a tradeoff for shorter runtime and less storage. In this example which involves multiple output wavelengths, the time for the far-field calculation can be reduced further on a single, shared-memory, multi-core machine via [multithreading](https://en.wikipedia.org/wiki/Thread_(computing)#Multithreading) by compiling Meep with OpenMP and specifying the environment variable `OMP_NUM_THREADS` to be an integer greater than one prior to execution."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
